<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no">
    <title>网易云音乐ncm格式在线解密</title>
    <link rel="stylesheet" href="/static/css/mdui.min.css">
    <link rel="stylesheet" href="/static/css/index.css">
    <script src="/static/js/mdui.min.js"></script>
    <script src="/static/js/zepto.min.js"></script>
    <script src="/static/js/index.js"></script>
</head>

<body class="mdui-appbar-with-toolbar mdui-theme-primary-indigo mdui-theme-accent-pink mdui-loaded">
    <header class="mdui-appbar mdui-appbar-fixed">
        <div class="mdui-toolbar mdui-color-theme">
            <a class="mdui-btn mdui-btn-icon mdui-ripple mdui-ripple-white">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" version="1.1" class="mdui-icon">
                    <g id="#ffffffff">
                        <path fill="#ffffff" opacity="1.00" d=" M 56.46 0.00 L 244.07 0.00 C 256.40 0.53 268.53 5.07 278.11 12.85 C 291.28 23.28 299.56 39.65 300.00 56.47 L 300.00 244.23 C 299.50 273.45 273.53 299.46 244.31 300.00 L 55.40 300.00 C 38.98 299.17 23.08 291.04 12.87 278.14 C 5.12 268.62 0.59 256.58 0.00 244.33 L 0.00 55.36 C 0.68 43.25 5.17 31.36 12.82 21.93 C 23.25 8.73 39.63 0.46 56.46 0.00 M 148.77 66.94 C 148.17 75.62 151.87 83.74 153.77 92.04 C 138.63 96.29 124.56 105.73 116.46 119.40 C 110.38 129.38 107.95 141.32 108.84 152.91 C 109.27 165.13 114.38 177.26 123.29 185.71 C 132.54 194.80 146.24 199.24 159.04 197.01 C 172.57 195.11 184.85 186.30 191.14 174.19 C 197.03 163.44 196.91 150.48 193.86 138.89 C 191.66 131.05 189.34 123.24 186.81 115.50 C 197.57 118.01 206.61 125.12 213.85 133.19 C 224.26 145.07 228.41 161.62 226.03 177.11 C 224.38 191.46 216.80 204.62 206.65 214.67 C 192.54 228.49 172.57 235.33 153.02 235.39 C 135.98 235.87 118.97 229.98 105.48 219.64 C 88.56 206.76 77.01 187.07 74.08 166.01 C 71.77 149.99 74.31 133.27 81.61 118.79 C 90.47 100.74 106.27 86.22 125.04 78.99 C 128.71 77.73 132.22 75.50 134.14 72.03 C 137.69 66.55 135.30 58.44 129.59 55.45 C 125.93 53.37 121.38 53.32 117.44 54.62 C 94.59 62.99 74.88 79.51 62.47 100.43 C 51.66 118.51 46.28 139.90 47.76 160.95 C 49.44 191.05 64.67 220.01 88.33 238.66 C 106.00 252.76 128.43 260.88 151.07 260.88 C 175.19 261.10 199.70 253.61 218.48 238.23 C 235.04 224.65 247.22 205.38 251.11 184.22 C 253.86 167.93 252.40 150.71 245.49 135.59 C 238.26 119.31 225.13 106.12 209.79 97.30 C 200.58 92.25 190.12 89.57 179.65 89.12 C 178.23 83.77 176.44 78.51 175.50 73.05 C 174.57 67.62 177.26 61.10 183.04 59.76 C 189.65 58.34 196.12 61.87 201.19 65.81 C 206.65 70.06 216.06 70.38 220.31 64.27 C 224.00 58.23 222.01 49.66 216.50 45.37 C 208.25 38.59 197.73 34.30 187.01 34.02 C 168.51 33.08 150.11 48.20 148.77 66.94 Z"/>
                        <path fill="#ffffff" opacity="1.00" d=" M 135.71 138.80 C 138.98 127.39 149.57 119.87 160.44 116.47 C 163.72 126.67 166.93 136.90 169.72 147.24 C 170.85 152.70 170.79 158.79 167.66 163.62 C 162.66 172.26 149.50 175.06 141.93 168.17 C 133.82 160.98 132.93 148.68 135.71 138.80 Z"/>
                    </g>
                    <g id="#ffffffff">
                        <path fill="#ffffff" opacity="0" d=" M 148.77 66.94 C 150.11 48.20 168.51 33.08 187.01 34.02 C 197.73 34.30 208.25 38.59 216.50 45.37 C 222.01 49.66 224.00 58.23 220.31 64.27 C 216.06 70.38 206.65 70.06 201.19 65.81 C 196.12 61.87 189.65 58.34 183.04 59.76 C 177.26 61.10 174.57 67.62 175.50 73.05 C 176.44 78.51 178.23 83.77 179.65 89.12 C 190.12 89.57 200.58 92.25 209.79 97.30 C 225.13 106.12 238.26 119.31 245.49 135.59 C 252.40 150.71 253.86 167.93 251.11 184.22 C 247.22 205.38 235.04 224.65 218.48 238.23 C 199.70 253.61 175.19 261.10 151.07 260.88 C 128.43 260.88 106.00 252.76 88.33 238.66 C 64.67 220.01 49.44 191.05 47.76 160.95 C 46.28 139.90 51.66 118.51 62.47 100.43 C 74.88 79.51 94.59 62.99 117.44 54.62 C 121.38 53.32 125.93 53.37 129.59 55.45 C 135.30 58.44 137.69 66.55 134.14 72.03 C 132.22 75.50 128.71 77.73 125.04 78.99 C 106.27 86.22 90.47 100.74 81.61 118.79 C 74.31 133.27 71.77 149.99 74.08 166.01 C 77.01 187.07 88.56 206.76 105.48 219.64 C 118.97 229.98 135.98 235.87 153.02 235.39 C 172.57 235.33 192.54 228.49 206.65 214.67 C 216.80 204.62 224.38 191.46 226.03 177.11 C 228.41 161.62 224.26 145.07 213.85 133.19 C 206.61 125.12 197.57 118.01 186.81 115.50 C 189.34 123.24 191.66 131.05 193.86 138.89 C 196.91 150.48 197.03 163.44 191.14 174.19 C 184.85 186.30 172.57 195.11 159.04 197.01 C 146.24 199.24 132.54 194.80 123.29 185.71 C 114.38 177.26 109.27 165.13 108.84 152.91 C 107.95 141.32 110.38 129.38 116.46 119.40 C 124.56 105.73 138.63 96.29 153.77 92.04 C 151.87 83.74 148.17 75.62 148.77 66.94 M 135.71 138.80 C 132.93 148.68 133.82 160.98 141.93 168.17 C 149.50 175.06 162.66 172.26 167.66 163.62 C 170.79 158.79 170.85 152.70 169.72 147.24 C 166.93 136.90 163.72 126.67 160.44 116.47 C 149.57 119.87 138.98 127.39 135.71 138.80 Z"/>
                    </g>
                </svg>
            </a>

            <span class="mdui-typo-title">网易云音乐ncm格式在线解密</span>

            <div class="mdui-toolbar-spacer"></div>

            <span class="mdui-btn mdui-btn-icon mdui-ripple mdui-ripple-white" mdui-tooltip="{content: '关于'}">
                <i class="mdui-icon material-icons help">help</i>
            </span>

            <a href="https://github.com/LuRenJiasWorld/NcmDump-Online" target="_blank" class="mdui-btn mdui-btn-icon mdui-ripple mdui-ripple-white" mdui-tooltip="{content: 'GitHub源码'}">
                <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 36 36" enable-background="new 0 0 36 36" xml:space="preserve" class="mdui-icon" style="width: 24px;height:24px;">
                    <path fill-rule="evenodd" clip-rule="evenodd" fill="#ffffff" d="M18,1.4C9,1.4,1.7,8.7,1.7,17.7c0,7.2,4.7,13.3,11.1,15.5
	                    c0.8,0.1,1.1-0.4,1.1-0.8c0-0.4,0-1.4,0-2.8c-4.5,1-5.5-2.2-5.5-2.2c-0.7-1.9-1.8-2.4-1.8-2.4c-1.5-1,0.1-1,0.1-1
	                    c1.6,0.1,2.5,1.7,2.5,1.7c1.5,2.5,3.8,1.8,4.7,1.4c0.1-1.1,0.6-1.8,1-2.2c-3.6-0.4-7.4-1.8-7.4-8.1c0-1.8,0.6-3.2,1.7-4.4
	                    c-0.2-0.4-0.7-2.1,0.2-4.3c0,0,1.4-0.4,4.5,1.7c1.3-0.4,2.7-0.5,4.1-0.5c1.4,0,2.8,0.2,4.1,0.5c3.1-2.1,4.5-1.7,4.5-1.7
	                    c0.9,2.2,0.3,3.9,0.2,4.3c1,1.1,1.7,2.6,1.7,4.4c0,6.3-3.8,7.6-7.4,8c0.6,0.5,1.1,1.5,1.1,3c0,2.2,0,3.9,0,4.5
	                    c0,0.4,0.3,0.9,1.1,0.8c6.5-2.2,11.1-8.3,11.1-15.5C34.3,8.7,27,1.4,18,1.4z"></path>
                </svg>
            </a>
        </div>
    </header>

    <div class="app">
        <div class="mdui-row">
            <div class="mdui-col-md-6">
                <div class="mdui-card">
                    <div class="mdui-card-primary">
                        <div class="mdui-card-primary-title">上传文件</div>
                        <div class="mdui-card-primary-subtitle">请上传网易云音乐ncm格式音乐文件以完成解密过程</div>
                    </div>

                    <div class="mdui-card-content">
                        <button id="select-file" class="mdui-btn mdui-btn-raised mdui-ripple mdui-color-indigo"><i class="mdui-icon material-icons">attachment</i>选择音乐文件</button>
                        <input type="file" name="file" id="upload-file">
                        <label id="file-name">未选择文件</label>
                    </div>

                    <div class="mdui-card-actions">
                        <button id="upload" class="mdui-btn mdui-ripple mdui-float-right">上传到服务器</button>
                    </div>

                    <div class="mdui-progress" id="upload-status-bar" style="display: none;">
                        <div class="mdui-progress-indeterminate mdui-color-indigo"></div>
                    </div>
                </div>
            </div>

            <div class="mdui-col-md-6">
                <div class="mdui-card">
                    <div class="mdui-card-primary">
                        <div class="mdui-card-primary-title">下载解密后的文件</div>
                        <div class="mdui-card-primary-subtitle">文件上传成功后，从这里下载解密后的文件</div>
                    </div>

                    <div class="mdui-card-content">
                        <button id="download-file" disabled="disabled" class="mdui-btn mdui-btn-raised mdui-ripple mdui-color-indigo"><i class="mdui-icon material-icons">cloud_download</i>下载音乐文件</button>
                        <label id="download-file-name"></label>
                    </div>

                    <div class="mdui-card-actions">
                        <button class="mdui-btn mdui-ripple mdui-float-right help">帮助</button>
                    </div>

                    <div class="mdui-progress" id="download-status-bar" style="display: none;">
                        <div class="mdui-progress-indeterminate mdui-color-indigo"></div>
                    </div>
                </div>
            </div>
        </div>

        <div class="mdui-dialog" id="not-select-file">
            <div class="mdui-dialog-title">请选择文件</div>
            <div class="mdui-dialog-content">你没有选择文件，无法上传</div>
            <div class="mdui-dialog-actions">
                <button class="mdui-btn mdui-ripple mdui-color-indigo" mdui-dialog-confirm>好</button>
            </div>
        </div>

        <div class="mdui-dialog" id="file-not-valid">
            <div class="mdui-dialog-title">文件不合要求</div>
            <div class="mdui-dialog-content">文件不满足要求，请确保你上传的是网易云音乐ncm格式音乐文件，且文件体积小于40M</div>
            <div class="mdui-dialog-actions">
                <button class="mdui-btn mdui-ripple mdui-color-indigo" mdui-dialog-confirm>好</button>
            </div>
        </div>

        <div class="mdui-dialog" id="upload-fail">
            <div class="mdui-dialog-title">上传过程出现错误</div>
            <div class="mdui-dialog-content">上传过程出现错误，请检查文件体积是否小于40M以及网络是否正常连通</div>
            <div class="mdui-dialog-actions">
                <button class="mdui-btn mdui-ripple mdui-color-indigo" mdui-dialog-confirm>好</button>
            </div>
        </div>

        <div class="mdui-dialog" id="convert-error">
            <div class="mdui-dialog-title">转换过程出现错误</div>
            <div class="mdui-dialog-content">转换过程出现错误，请确保上传的是可被网易云音乐播放的.ncm格式音乐</div>
            <div class="mdui-dialog-actions">
                <button class="mdui-btn mdui-ripple mdui-color-indigo" mdui-dialog-confirm>好</button>
            </div>
        </div>

        <div class="mdui-dialog" id="help">
            <div class="mdui-dialog-title">关于</div>
            <div class="mdui-dialog-content">
                作者：LuRenJiasWorld
                <br />
                GitHub：<a href="https://github.com/LuRenJiasWorld" target="blank">https://github.com/LuRenJiasWorld</a>
                <br />
                Email: <a href="mailto:loli@lurenjia.in" target="_blank">loli@lurenjia.in</a>
                <br />
                感谢以下开源项目与组件：
                <br />
                - <a href="https://github.com/pallets/flask" target="_blank">pallets/flask</a>
                <br />
                - <a href="https://github.com/QCloudHao/ncmdump" target="_blank">QCloudHao/ncmdump</a>（Tweaked, in <a href="https://github.com/LuRenJiasWorld/ncmdump" target="_blank">LuRenJiasWorld/ncmdump</a>）
                <br />
                - <a href="https://github.com/zdhxiong/mdui" target="_blank">zdhxiong/mdui</a>
                <br />
                - <a href="https://github.com/madrobby/zepto" target="_blank">madrobby/zepto</a>
                <br />
                <i>本项目遵循<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache2.0协议</a>释出源码，二次开发请注明原项目与原作者信息。</i>
            </div>
            <div class="mdui-dialog-actions">
                <button class="mdui-btn mdui-ripple mdui-color-indigo" mdui-dialog-confirm>好</button>
            </div>
        </div>
    </div>

</body>
</html>